package com.nkzy.controller;

import com.nkzy.pojo.Result;
import com.nkzy.utils.JwtUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

@RestController
@RequestMapping("/article")
public class ArticleController {
    @GetMapping("/list")

    public Result list(){
        return Result.success("所有文章列表");
        //验证token


    }
    /**
     * 我们没有登录，也可以访问文章列表，这是一个bug，需求：
     * 只有用户登录成功，才能访问用户相关信息，包括文章模块，分类模块
     * 所有我们需要进行登录认证；
     * 一、会话技术
     * 会话：用户打开浏览器，访问web服务器的资源，会话建立，直到有一方断开连接
     *会话结束，在一次会话中可以包含多次请求和响应
     * 会话跟踪：一种维护浏览器状态的方法，服务器需要识别多次请求是否来自同一浏览器，
     * 以使在同一次会话的多次请求间共享数据
     * 会话跟踪的方案
     * 1.客户端会话跟踪技术：Cookie
     * 2.服务器会话跟踪技术：Session
     * 3.令牌技术：
     * Cookie会话技术：由服务器产生内容，浏览器收到请求后保存到本地；
     * 当浏览器再次访问时，浏览器会自动带上Cookie，这样服务器就能通过Cookie的内容判断。
     * Session会话技术：底层也是基于Cookie，Session采用的是在服务器端保存的状态的方案，
     * JWT令牌技术
     * 全称：JSON Web Token
     * 作用：定义了一种简洁的，自包含的模式，用于在通讯双方以ISON数据格式安全的传输
     * 信息，由于数字签名的存在，这些信息是可靠的
     * 组成：
     *第一部分：Header（头）
     *第二部分：有效载荷
     *第三部分：签名，加密算法
     *
     *
     *
     * 拦截器interceptor
     * 概念：是一种动态拦截方法调用的机制，类似于Filter（过滤器）
     * 是Java Web三大组件(Servlet,Filter.Listener)
     * Interceptor:Java Spring Boot框架中的一种技术，主要实现对Controller中的方法进行拦截
     * Interceptor实现步骤：
     * 步骤1：定义拦截器类，实现HandlerInterceptor接口，并重写其方法
     * 步骤2：注册拦截器
     *
     */
}
